package lambda;

public class LambdaDemo3 {
    public static void main(String[] args) {
        Shop shop = new Shop();
        //匿名内部类写法
//        Runnable r = new Runnable() {
//            @Override
//            public void run() {
//                shop.buy();
//            }
//        };
        //lambda表达式写法
//        Runnable r1 = ()->shop.buy();
        //当lambda表达式中参数列表与表达式调用的方法参数列表一致的时候，可以简写为方法引用
        /*
        Runnable r = shop::buy;
        Thread t = new Thread(r);
        t.start();
         */
        //调用成员方法
        new Thread(shop::buy).start();
        //调用静态方法
        new Thread(Shop::doSome).start();
    }
}

class Shop {
    public void buy() {
        System.out.println("买东西！");
    }

    public static void doSome() {
        System.out.println("静态方法");
    }
}